#include <sqlite3.h>
#include <stdlib.h> //只要是使用了sqlite3的库，在构建时，就要设置‘-lsqlite3’
#include <stdio.h>

//根据账户和密码查询
int get_user_name(char *login_name,char *password){
sqlite3 *db;
  char *errMsg;
  char *sql;
  int res = sqlite3_open("/home/zhzz/apply_sys.db",&db);
  if(res){
    fprintf(stderr,"打开数据库错误:%s\n",sqlite3_errmsg(db));
    return -1;
  }
  //sql语句执行返回几行数据，就会执行回调函数几次
  sql = sqlite3_mprintf ("select * from table_user "\
    "where user_name='%q' and user_password='%q'", login_name,password);  
  
  //执行
  // 第三个参数是回调函数
  // 第四个参数是给回调函数传递的值
  //res = sqlite3_exec(db,sql,callback,"执行回调函数...",&errMsg);
  
  char ** result;//结果
  int rows;//行数
  int cols;//列数
  
  res = sqlite3_get_table (db, sql, &result, &rows, &cols,&errMsg);
  fprintf(stderr,"sql=%s\n",sql);
  if(res!=SQLITE_OK){
    fprintf(stderr,"执行查询失败:%s\n",errMsg);
    sqlite3_free(errMsg);
    return -2;
  }
  //这里只需要获取账户名称即可 
  // 有bug。。。。
  //释放结果集
  sqlite3_free_table (result);

  printf("查询成功...\n");
  sqlite3_close(db);
  return 0;//登录成功!
}
